package exception;

/**
 * 分别说明：
 * final,finally,finalize
 *finalize方法是Object中定义的方法，该方法是一个对象生命周期中最后一个方法。
 * 当Gc即将释放一个对象前会调用该对象的finalize方法，调用后该对象被释放。需要注意
 * 若需要重写这个方法，
 *
 *
 */
public class FinallyDemo3 {
    public static void main(String[] args) {
        System.out.println(
                test("o") + "," + test(null) + "," + test("")
        );//3,3,3
    }
    public static int test(String str) {
        try {
            return str.charAt(0) - '0';
        }catch (NullPointerException e) {
            return 1;
        }catch(Exception e){
            return 2;
        }finally {
            return 3;
        }
    }
    }



